File name 19770728_D0_RS232C_Controller_Functional_Specifications.pdfInternal Memorandum
To Distribution Date July 28, 1977
From Victor Schwartz and Roy Ogus Location Palo Alto
Subject DO RS232C Controller Organization SOO/SO/CS
Functional Specifications
XEROX SDD ARCHIVES
XEROX I have read and understood
Pages _________To _________
Reviewer Date _ _ __
Filed on: [MAXC] Control\er-memo.press
I of Pagee Ref .,1;7~DD- Z'7t
Introduction
This memo specifies the functions performed by the DO RS232C Controller, and how
PILOT software interfaces to the controller microcode in order to control these functions.
Controller Status Block
Software and microcode communicate via Controller Status Blocks (CSBs) located at
dedicated memory addresses. There are separate CSBs for input and output (although
implementation may assign them contiguous), since the support of full-duplex links
requires the microcode to treat input and output as separate channels. The CSB contains
various flags (see Table Formats below), and a pointer to a chain of Input/Output Control
Blocks (IOCBs).
Input/Output Control Block
The IOCB is the structure by which the software passes a single command to the controller
microcode. Parameters within the IOCB describe the function to be performed, the
resulting status, and the data areas involved. IOCBs are chained together by PILOT
software, and are processed sequentially by the microcode. Each IOCB instructs the
microcode as to which process wakeups to perform and when. Each processed IOCB is
flagged by the microcode, and later dequeued by the software.
Command
Five commands are described by the command field in the IOCB. They are:
1. Reset
2. Change parameter
3. Transmit/Receive frame
4. Transmit break (asynchronous lines only)
5. Dial-a-Digit
Frames
A frame is the smallest meaningful unit of transmission across the communication link.
The format and content of a frame depend upon the link control protocol, and are
described in Frame Formats below, for each of the link control protocols supported by the
DO RS232C Controller. Frames are stored into frame buffers allocated by software. A
single frame may be split across non-contiguous buffers to allow scatter/gather facilities,
although no buffer contains more than one frame.
|